草庐IT

TypeScript 运算符

全部标签

javascript - 如何使用 Visual Studio(如 IE)在 Chrome 中获得完整的 JavaScript/TypeScript 调试

是否有一种方法可以使用Chrome在VisualStudio中交互式调试JavaScript和TypeScript,类似于当前InternetExplorer提供的功能?使用IE,我可以在IDE中的JavaScript或TypeScript中设置断点,并在IDE中单步执行代码。我无法在VisualStudio中使用Chrome获得相同的行为。 最佳答案 要获得与任何基于JavaScript/浏览器的应用程序和VisualStudio完全集成的调试体验,您现在需要使用InternetExplorer。由于TypeScript编译为Ja

javascript - 借助 TypeScript 在旧版浏览器中使用 Angular 2?

由于Angular2团队在构建时使用TypeScript,是否可以假设他们可以编译可在旧版浏览器上运行的Angular2版本? 最佳答案 编辑2:Angular团队似乎决定支持一些非常青浏览器。PerBradGreen(来自Angular团队):Angular2将支持哪些浏览器版本?在https://github.com/angular/angular上有一个带有一些提示的新构建小部件目前,自述文件显示IE9及更高版本。Angular2将仅支持现代浏览器:Modernbrowsersmeansthesetofbrowsersknow

javascript - 仅使用环境定义导入 TypeScript 模块以在 amd 中使用

我有一个依赖于Backbone的模块.我有一个backbone.d.ts定义,但TypeScript似乎不想编译我的模块,除非我的importBackbone=module("backbone")实际上指向一个有效的主干模块而不是一个定义文件。我正在使用AMD加载模块,并为主干定义了一个requirejs垫片。除了创建虚假的backbone.ts模块定义之外,是否有解决方法?更新:该解决方案的副作用是这样的代码不再有效,因为该模块不再存在。由于requirejs垫片,它需要存在。我知道的唯一解决方法是拥有两个.d.ts文件。一个用于使用backbone作为导入的文件,不包含declar

javascript - JavaScript 中 + 运算符和 concat() 方法的区别是什么

加号(+)运算符和String.concat()方法给出相同的结果。加号(+)运算符;str1+str2;字符串concat()方法;str1.concat(str2);另外,它写在w3schools中;ButwithJavaScript,methodsandpropertiesarealsoavailabletoprimitivevalues,becauseJavaScripttreatsprimitivevaluesasobjectswhenexecutingmethodsandproperties.那么JS中无论是在基元上还是在String对象上使用哪种方式组合比较好,如果有的话

javascript - 任何 JavaScript 代码都是有效的 TypeScript 代码吗?

目前我已经开始学习TypeScript。从我为TypeScript研究的文档中,我看到了一些示例,可以将纯JavaScript代码编译为TypeScript代码。我的问题是:TypeScript语言的设计方式是否让任何JavaScript代码都成为有效的TypeScript代码?即任何.js文件都是有效的.ts文件吗? 最佳答案 让我们假设有效代码意味着:语法正确关于语言规范。那么答案是是。写在TypeScriptSpecifications中(第二段):TypeScriptisasyntacticsugarforJavaScrip

javascript - 为什么 TypeScript 会在 IIFE 中打包一个类?

这是一个TypeScript类:classGreeter{publicstaticwhat():string{return"Greater";}publicsubject:string;constructor(subject:string){this.subject=subject;}publicgreet():string{return"Hello,"+this.subject;}}当TS以ES5为目标时,它被转译为IIFE:varGreeter=/**@class*/(function(){functionGreeter(subject){this.subject=subject;

javascript - JavaScript 中 Math.max 与三元运算符的速度和风格

在JavaScript中,这样做是否更好:varh=th>ch?th:ch;或varh=Math.max(th,ch);? 最佳答案 第二个对我来说似乎更清楚,因为它显示了意图而不是实现。我怀疑在很多情况下,任何性能差异都会产生明显的差异,而且它可能无论如何都依赖于实现。 关于javascript-JavaScript中Math.max与三元运算符的速度和风格,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

Javascript 速记 - 在赋值中使用 '||' 运算符意味着什么?

这个问题在这里已经有了答案:JavaScriptOR(||)variableassignmentexplanation(12个答案)关闭7年前。我刚刚看了thisanswer,我注意到下面一行javascript代码:hrs=(hrs-12)||12;我的问题:Whatdoesthe'||'operatormeanwhenusedinanassignment?

javascript - 为什么 OR 操作 "||"不能替换这段 JavaScript 代码中的三元运算符 "? :"?

以下代码在浏览器中运行:varevent=event||window.event;vareTarget=event.target||event.srcElement;vareTargetId=eTarget.id;当我把它改成vareTargetId=event.target?event.target.id:event.srcElement.id;它也有效。当我将代码更改为vareTargetId=event.target.id||event.srcElement.id;它在IE678中不起作用。我收到以下错误:SCRIPT5007:Objectexpected.为什么会这样?

javascript - TypeScript 项目中缺少基本的 DOM 类型

我正在用TypeScript设置一个网络应用程序,我似乎缺少一些我需要的基本类型。当我编译(npmrunbuild)时,我得到以下错误,errorTS2304:Cannotfindname'HTMLElement'.errorTS2304:Cannotfindname'SVGElement'.errorTS2304:Cannotfindname'EventTarget'.errorTS2304:Cannotfindname'TouchEvent'.errorTS2304:Cannotfindname'MouseEvent'.errorTS2304:Cannotfindname'Poin